home *** CD-ROM | disk | FTP | other *** search
- #! /bin/sh
- ## web relay -- a degenerate version of webproxy, usable with browsers that
- ## don't understand proxies. This just forwards connections to a given server.
- ## No query logging, no access control [although you can add it to XNC for
- ## your own run], and full-URL links will undoubtedly confuse the browser
- ## if it can't reach the server directly. This was actually written before
- ## the full proxy was, and it shows.
- ## The arguments in this case are the destination server and optional port.
- ## Please flame pinheads who use self-referential absolute links.
-
- # set these as you wish: proxy port...
- PORT=8000
- # any extra args to the listening "nc", for instance "-s inside-net-addr"
- XNC=''
-
- # functionality switch, which has to be done fast to start the next listener
- case "${1}${RDEST}" in
- "")
- echo needs hostname
- exit 1
- ;;
- esac
-
- case "${1}" in
- "")
- # no args: fire off new relayer process NOW. Will hang around for 10 minutes
- nc -w 600 -l -n -p $PORT -e "$0" $XNC < /dev/null > /dev/null 2>&1 &
- # and handle this request, which will simply fail if vars not set yet.
- exec nc -w 15 $RDEST $RPORT
- ;;
- esac
-
- # Fall here for setup; this can now be slower.
- RDEST="$1"
- RPORT="$2"
- test "$RPORT" || RPORT=80
- export RDEST RPORT
-
- # Launch the first relayer same as above, but let its error msgs show up
- # will hang around for a minute, and exit if no new connections arrive.
- nc -v -w 600 -l -p $PORT -e "$0" $XNC < /dev/null > /dev/null &
- echo \
- "Relay to ${RDEST}:${RPORT} running -- point your browser here on port $PORT"
- exit 0
-